dllmain.c

Go to the documentation of this file.
00001 
00009 #include "dll.h"
00010 #include <windows.h>
00011 #include <stdio.h>
00012 #include <stdlib.h>
00013 #include <conio.h>
00014 
00015 #define MAX_SIZE 12
00016 
00032 DLLIMPORT void ssolution(int iboard[MAX_SIZE][MAX_SIZE],int iblength,int isolutions,int *iauthor ,char cfilename[100])
00033 {
00034     FILE *pfile;
00035     int ik;
00036     int ii;
00037    
00038     pfile=fopen(cfilename,"a");
00039     if(!pfile)
00040     {
00041         gotoxy(3,16);
00042         printf("Filename Error!");
00043         gotoxy(3,17);
00044         printf("Can%ct write [%s]",39,cfilename);     //ascii 39=´
00045     }
00046     else
00047     {
00048         
00049         if(!*iauthor)                                 //text-file-header
00050         {
00051             fprintf(pfile,"%d-QUEENS-PROBLEM\nAuthor : Daniel Hasemann\nVersion : 1.2\n\n",iblength);
00052             *iauthor=1;
00053         }
00054         
00055         for(ii=0;ii<iblength;ii++)
00056         {   
00057             for(ik=0;ik<iblength;ik++)
00058             {
00059                 if(iboard[ik][ii])
00060                 {
00061                     fprintf(pfile,"[%c%d]",ii+65,iblength-ik); //prints solution in file
00062                 }    
00063                
00064             }
00065         }
00066         fprintf(pfile," >>>Solution [%d] ",isolutions);        //prints number of solution in file
00067         fprintf(pfile,"\n");                                   //next line
00068         fclose(pfile);
00069     }
00070 }
00071 
00072 
00073 BOOL APIENTRY DllMain (HINSTANCE hInst     /* Library instance handle. */ ,
00074                        DWORD reason        /* Reason this function is being called. */ ,
00075                        LPVOID reserved     /* Not used. */ )
00076 {
00077     switch (reason)
00078     {
00079       case DLL_PROCESS_ATTACH:
00080         break;
00081 
00082       case DLL_PROCESS_DETACH:
00083         break;
00084 
00085       case DLL_THREAD_ATTACH:
00086         break;
00087 
00088       case DLL_THREAD_DETACH:
00089         break;
00090     }
00091 
00092 
00093     return TRUE;
00094 }

Generated on Sun Dec 18 19:26:13 2005 for n-Queens Problem by  doxygen 1.4.5